package com.metis.document.parse.dialog.models.dto;

import java.util.ArrayList;
import java.util.Collection;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;


/**
 * @author: wuzhijun
 * @date: 2022/11/28
 */
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("解析结果DTO")
public class ParseResultDTO {
    @ApiModelProperty("PDF页面的尺寸信息")
    @Builder.Default
    Collection<PDFSizeDTO> pageSizeInfos = new ArrayList<>();
    @ApiModelProperty("行文本元素")
    @Builder.Default
    @JsonIgnore
    Collection<LineTextElementDTO> texts = new ArrayList<>();
    @ApiModelProperty("段落文本元素")
    @Builder.Default
    Collection<ParagraphTextElementDTO> paragraphs = new ArrayList<>();
    @ApiModelProperty("表格元素")
    @Builder.Default
    Collection<TableElementDTO> tables = new ArrayList<>();
    @ApiModelProperty("表格Markdown元素")
    @Builder.Default
    Collection<String> markdownTables = new ArrayList<>();
    @ApiModelProperty("表格html元素")
    @Builder.Default
    Collection<String> htmlTables = new ArrayList<>();
    @ApiModelProperty("图片元素")
    @Builder.Default
    Collection<ImageElementDTO> images = new ArrayList<>();
    @ApiModelProperty("公式元素")
    @Builder.Default
    Collection<EquationElementDTO> equation = new ArrayList<>();
}
